package com.dz.risk.pojo.domain;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 自营持有债券信息-上游数据
 * 
 * @author yinpl
 * @email 
 * @date 2021-07-07 17:38:44
 */
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Builder
@ExcelTarget("proprietaryValuationOfBondHoldingsInformationEntityList")
@Data
@TableName(value = "t_st_proprietary_holding_bond_information", autoResultMap = true)
@ApiModel(value = "自营持有债券信息实体")
public class ProprietaryHoldingBondInformationEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 日期
	 */
	@TableId
	@ApiModelProperty(value = "日期")
	@Excel(name = "日期")
	private Integer initDate;
	/**
	 * 部门
	 */
	@ApiModelProperty(value = "部门")
	@Excel(name = "部门")
	private Integer depart;
	/**
	 * 市场名称
	 */
	@ApiModelProperty(value = "市场名称")
	@Excel(name = "市场名称")
	private String marketName;
	/**
	 * 证券代码
	 */
	@ApiModelProperty(value = "证券代码")
	@Excel(name = "证券代码")
	private String stockCode;
	/**
	 * 证券名称
	 */
	@ApiModelProperty(value = "证券名称")
	@Excel(name = "证券名称")
	private String paperTitles;
	/**
	 * 投资类型
	 */
	@ApiModelProperty(value = "投资类型")
	@Excel(name = "投资类型")
	private String investmentType;
	/**
	 * 证券类别
	 */
	@ApiModelProperty(value = "证券类别")
	@Excel(name = "证券类别")
	private String securitiesCategory;
	/**
	 * 债券类型
	 */
	@ApiModelProperty(value = "债券类型")
	@Excel(name = "债券类型")
	private String theBondType;
	/**
	 * 年利率
	 */
	@ApiModelProperty(value = "年利率")
	@Excel(name = "年利率")
	private BigDecimal annualInterestRate;
	/**
	 * 开始计息日
	 */
	@ApiModelProperty(value = "开始计息日")
	@Excel(name = "开始计息日")
	private Date startInterestDay;
	/**
	 * 到期日
	 */
	@ApiModelProperty(value = "到期日")
	@Excel(name = "到期日")
	private Date endInterestDay;
	/**
	 * 剩余月份
	 */
	@ApiModelProperty(value = "剩余月份")
	@Excel(name = "剩余月份")
	private BigDecimal inTheRemaining;
	/**
	 * 面值
	 */
	@ApiModelProperty(value = "面值")
	@Excel(name = "面值")
	private BigDecimal faceValue;
	/**
	 * 市值
	 */
	@ApiModelProperty(value = "市值")
	@Excel(name = "市值")
	private BigDecimal marketValue;
	/**
	 * 自由券数量
	 */
	@ApiModelProperty(value = "自由券数量")
	@Excel(name = "自由券数量")
	private BigDecimal numberOfFreeCoupons;
	/**
	 * 买断数量
	 */
	@ApiModelProperty(value = "买断数量")
	@Excel(name = "买断数量")
	private BigDecimal toBuyTheNumber;
	/**
	 * 质押数量
	 */
	@ApiModelProperty(value = "质押数量")
	@Excel(name = "质押数量")
	private BigDecimal thePledgeNumber;
	/**
	 * 债券评级
	 */
	@ApiModelProperty(value = "债券评级")
	@Excel(name = "债券评级")
	private String bondRating;
	/**
	 * 派息日期
	 */
	@ApiModelProperty(value = "派息日期")
	@Excel(name = "派息日期")
	private String dividendPayoutDate;
	/**
	 * 派息金额
	 */
	@ApiModelProperty(value = "派息金额")
	@Excel(name = "派息金额")
	private BigDecimal theDividendAmount;
	/**
	 * 债券数量
	 */
	@ApiModelProperty(value = "债券数量")
	@Excel(name = "债券数量")
	private BigDecimal numberOfBonds;
	/**
	 * 银行间代码
	 */
	@ApiModelProperty(value = "银行间代码")
	@Excel(name = "银行间代码")
	private String interbankCode;
	/**
	 * 评级
	 */
	@ApiModelProperty(value = "评级")
	@Excel(name = "评级")
	private String rate;
	/**
	 * 剩余未还本金
	 */
	@ApiModelProperty(value = "剩余未还本金")
	@Excel(name = "剩余未还本金")
	private BigDecimal remainingPrincipalOutstanding;
	/**
	 * 未来30天兑付金额
	 */
	@ApiModelProperty(value = "未来30天兑付金额")
	@Excel(name = "未来30天兑付金额")
	private BigDecimal amountPayableInTheNextThirtyDays;
	/**
	 * 借贷质押数量
	 */
	@ApiModelProperty(value = "借贷质押数量")
	@Excel(name = "借贷质押数量")
	private BigDecimal quantityOfLoansPledged;
	/**
	 * 付息方式 1到期付息2一年3半年4按季5一月
	 */
	@ApiModelProperty(value = "付息方式")
	@Excel(name = "付息方式")
	private String wayOfPayingInterest;
	/**
	 * 累计利息
	 */
	@ApiModelProperty(value = "累计利息")
	@Excel(name = "累计利息")
	private BigDecimal accumulatedInterest;

	/**
	 * 债卷隐含评级
	 */
	@ApiModelProperty(value = "债卷隐含评级")
	@Excel(name = "债卷隐含评级")
	private String impliedRatingOfBonds;

}
